package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 物料采购信息对象 erp_material_procure
 *
 * @author wutao
 * @date 2024-07-04
 */
@TableName("erp_material_procure")
@ApiModel(value = "erp_material_procure对象", description = "物料采购信息")
@Data
public class MaterialProcureEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 物料采购信息主键id
     */
    @TableId(type = IdType.INPUT)
    private String id;

    /**
     * 物料id
     */
    @ApiModelProperty("物料id")
    @TableField("material_id")
    @Excel(name = "物料id")
    private String materialId;

    /**
     * 采购单位dialog
     */
    @ApiModelProperty("采购单位dialog")
    @TableField("procure_unit")
    @Excel(name = "采购单位dialog")
    private String procureUnit;

    /**
     * 采购计价单位dialog
     */
    @ApiModelProperty("采购计价单位dialog")
    @TableField("procure_pricing_unit")
    @Excel(name = "采购计价单位dialog")
    private String procurePricingUnit;

    /**
     * 采购组织dialog
     */
    @ApiModelProperty("采购组织dialog")
    @TableField("procure_group")
    @Excel(name = "采购组织dialog")
    private String procureGroup;

    /**
     * 采购员dialog
     */
    @ApiModelProperty("采购员dialog")
    @TableField("procure_id")
    @Excel(name = "采购员dialog")
    private String procureId;

    /**
     * 默认供应商dialog
     */
    @ApiModelProperty("默认供应商dialog")
    @TableField("default_supplier")
    @Excel(name = "默认供应商dialog")
    private String defaultSupplier;

    /**
     * 费用项目dialog
     */
    @ApiModelProperty("费用项目dialog")
    @TableField("expense_item")
    @Excel(name = "费用项目dialog")
    private String expenseItem;

    /**
     * 采购类型dialog
     */
    @ApiModelProperty("采购类型dialog")
    @TableField("procure_type")
    @Excel(name = "采购类型dialog")
    private String procureType;

    /**
     * 配额管理（勾选框0否1是）
     */
    @TableField("is_quota")
    @ApiModelProperty("配额管理")
    @Excel(name = "配额管理", readConverterExp = "勾=选框0否1是")
    private String isQuota;

    /**
     * 配额方式
     */
    @ApiModelProperty("配额方式")
    @TableField("quota_mode")
    @Excel(name = "配额方式")
    private String quotaMode;

    /**
     * 最小拆分数量
     */
    @ApiModelProperty("最小拆分数量")
    @TableField("min_spilt_num")
    @Excel(name = "最小拆分数量")
    private Long minSpiltNum;

    /**
     * 需要请购（勾选框0否1是）
     */
    @TableField("is_req")
    @ApiModelProperty("需要请购")
    @Excel(name = "需要请购", readConverterExp = "勾=选框0否1是")
    private String isReq;

    /**
     * 货源控制（勾选框0否1是）
     */
    @TableField("is_control")
    @ApiModelProperty("货源控制")
    @Excel(name = "货源控制", readConverterExp = "勾=选框0否1是")
    private String isControl;

    /**
     * 允许退料（勾选框0否1是）
     */
    @TableField("is_material_return")
    @ApiModelProperty("允许退料")
    @Excel(name = "允许退料", readConverterExp = "勾=选框0否1是")
    private String isMaterialReturn;

    /**
     * 收货上限比列
     */
    @ApiModelProperty("收货上限比列")
    @TableField("take_over_up")
    @Excel(name = "收货上限比列")
    private String takeOverUp;

    /**
     * 收货下限比例
     */
    @ApiModelProperty("收货下限比例")
    @TableField("take_over_down")
    @Excel(name = "收货下限比例")
    private String takeOverDown;

    /**
     * 收货提前天数
     */
    @ApiModelProperty("收货提前天数")
    @TableField("take_over_lead")
    @Excel(name = "收货提前天数")
    private Long takeOverLead;

    /**
     * 收货延迟天数
     */
    @ApiModelProperty("收货延迟天数")
    @TableField("take_over_delay")
    @Excel(name = "收货延迟天数")
    private Long takeOverDelay;

    /**
     * 默认条码规则dialog
     */
    @ApiModelProperty("默认条码规则dialog")
    @TableField("bar_code_rule")
    @Excel(name = "默认条码规则dialog")
    private String barCodeRule;

    /**
     * 最小打包数
     */
    @ApiModelProperty("最小打包数")
    @TableField("min_pack_num")
    @Excel(name = "最小打包数")
    private String minPackNum;

    /**
     * 重复打印数
     */
    @ApiModelProperty("重复打印数")
    @TableField("repeat_put_num")
    @Excel(name = "重复打印数")
    private String repeatPutNum;

    /**
     * 委外单位dialog
     */
    @ApiModelProperty("委外单位dialog")
    @TableField("outsource_unit")
    @Excel(name = "委外单位dialog")
    private String outsourceUnit;

    /**
     * 委外计价单位dialog
     */
    @ApiModelProperty("委外计价单位dialog")
    @TableField("outsource_pricing_unit")
    @Excel(name = "委外计价单位dialog")
    private String outsourcePricingUnit;

    /**
     * 委外类型dialog
     */
    @ApiModelProperty("委外类型dialog")
    @TableField("outsource_type")
    @Excel(name = "委外类型dialog")
    private String outsourceType;

    /**
     * 日产量
     */
    @ApiModelProperty("日产量")
    @TableField("day_production")
    @Excel(name = "日产量")
    private Long dayProduction;

    /**
     * 日产量单位
     */
    @ApiModelProperty("日产量单位")
    @TableField("day_production_unit")
    @Excel(name = "日产量单位")
    private String dayProductionUnit;

    /**
     * 默认产线
     */
    @ApiModelProperty("默认产线")
    @TableField("defunct_production_line")
    @Excel(name = "默认产线")
    private String defunctProductionLine;

    /**
     * 启用日排产0否1是
     */
    @ApiModelProperty("启用日排产0否1是")
    @TableField("is_day_production")
    @Excel(name = "启用日排产0否1是")
    private String isDayProduction;

    /**
     * 代理采购比例
     */
    @ApiModelProperty("代理采购比例")
    @TableField("agent_procure")
    @Excel(name = "代理采购比例")
    private String agentProcure;

    /**
     * 是否使用(1是0否)
     */
    @ApiModelProperty ( "是否使用(1是2否)" )
    @TableField (value = "is_used")
    @TableLogic
    @Excel ( name = "是否使用(1是2否)" )
    private Integer isUsed;

}
